package com.springcloud.gateway.service;

import org.springframework.cloud.gateway.route.RouteDefinition;
import reactor.core.publisher.Mono;
import java.util.Collection;

/**
 * <p> 路由服务 </p>
 *
 * @author mori
 * @since 10/25/2019 2:01 PM
 */
public interface RouteService {
    /**
     *  加载路由
     * @return 路由集合
     */
    Collection<RouteDefinition> getRouteDefinitions();

    /**
     * 新增路由
     * @param routeDefinitionMono 路由定义
     * @return 空
     */
    Mono<Void> save(Mono<RouteDefinition> routeDefinitionMono);

    /**
     * 删除路由
     * @param routeId 路由id
     * @return 空
     */
    Mono<Void> delete(Mono<String> routeId);
}
